package com.diandiansong.manager.entity;

import android.content.Context;

import com.google.gson.annotations.SerializedName;

import java.io.Serializable;

import diandiansong.library.utils.AFile;
import diandiansong.library.utils.BaseEntity;

public class SalesLoginInfo extends BaseEntity {

    private static final String KEY_SalesLoginInfo = "SalesLoginInfo";

    public static void clearSalesLoginInfo(Context context) {
        AFile aFile = AFile.get(context, KEY_SalesLoginInfo);
        aFile.put(KEY_SalesLoginInfo, "");
    }

    public static void saveSalesLoginInfo(Context context, SalesLoginInfo object) {
        AFile aFile = AFile.get(context, KEY_SalesLoginInfo);
        aFile.put(KEY_SalesLoginInfo, object);
    }

    private static SalesLoginInfo getSalesLoginInfo(Context context) {
        AFile aFile = AFile.get(context, KEY_SalesLoginInfo);
        return (SalesLoginInfo) aFile.getAsObject(KEY_SalesLoginInfo);
    }

    public static String getToken(Context context) {
        try {
            AFile aFile = AFile.get(context, KEY_SalesLoginInfo);
            SalesLoginInfo object = (SalesLoginInfo) aFile.getAsObject(KEY_SalesLoginInfo);
            return object.getData().getToken();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    public static String isManagerOrSalesMan(Context context) {
        String type = null;
        try {
            AFile aFile = AFile.get(context, KEY_SalesLoginInfo);
            SalesLoginInfo object = (SalesLoginInfo) aFile.getAsObject(KEY_SalesLoginInfo);
            type = object.getData().getTypes();
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (type == null || type.isEmpty()) {
            type = "2";
        }
        return type;
    }

    public static boolean isLogined(Context context) {
        String token = getToken(context);
        return token != null && !token.isEmpty();
    }


    @SerializedName("data")
    private Data data;

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public static class Data implements Serializable {

        @SerializedName("token")
        private String token;
        @SerializedName("types")
        private String types;

        public String getToken() {
            return token;
        }

        public void setToken(String token) {
            this.token = token;
        }

        public String getTypes() {
            return types;
        }

        public void setTypes(String types) {
            this.types = types;
        }
    }
}
